#include<bits/stdc++.h>
using namespace std;

string s[105];
int mat[105][15];

int main() {
	int n, m;
	cin >> n >> m;
	getchar();
	for (int i = 1; i <= n; i++) {
		getline(cin, s[i]);
	}

	vector<int> row;
	for (int i = 1; i <= m; i++) {
		int x;
		cin >> x;
		row.push_back(x);
	}

	for (int i = 0; i < m; i++) {
		for (int j = 0; j < 10; j++) {
			cin >> mat[row[i]][j];
		}
	}

	int k, x;
	cin >> k;
	for (int i = 1; i <= k; i++) {
		cin >> x;
		if (mat[x / 10][x % 10] == -1 || !mat[x / 10][x % 10])
			cout << "?" << endl;
		else
			cout << s[mat[x / 10][x % 10]] << endl;
	}
}
